๋ฌธ์ ์ํฉ
reamark ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด mdํ์ผ์ htmlํ์์ผ๋ก ์ ํํด์ ๋ธ๋ก๊ทธ ๊ธ์ ๋ณด์ฌ์ค๋ค.
๊ทผ๋ฐ md ํ์ผ๋ก๋ ๋ค์์ฒ๋ผ ์ค๋ฐ๊ฟ์ด ๋ค์ด๊ฐ์๋๋ฐ html๋ก๋ <p>
ํ๊ทธ ํ๋์ ํต์งธ๋ก ์ค๋ฐ๊ฟ ์์ด ๋ค์ด๊ฐ์ ๋ณด๊ธฐ์ ๋ถํธํ ๋ฌธ์ ๊ฐ ์๋ค.
# ์์ธ
`write/page.tsx`๋ฅผ ํ๋ฆฌ๋ ๋๋ง ํ ์ ์์ด์ ๋ฐ์ํ๋ ์๋ฌ.
ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ ๋ ๊ฑฐ๊ธฐ์ ๋ถ๋ฌ์จ quill ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ `document`๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ DOM API๋ฅผ ํ์๋ก ํ๋ค. (๊ฐ๋ น quill ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์์ `document.getElementById` ์ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค)
์ฆ quill์ ์ค์ง์ ์ผ๋ก ์ฌ์ฉํ๋ `editor.tsx`์์ ํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์์ ๋ฌธ์ ๊ฐ ๋๋๊ฒ.
`write/page.tsx`์์๋ quill๋ฅผ ๋ถ๋ฌ์ค์ง๋ง ์ฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง๋ ์์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋์ง ์์๋ค.
<code>write/page.tsx</code>๋ฅผ ํ๋ฆฌ๋ ๋๋ง ํ ์ ์์ด์ ๋ฐ์ํ๋ ์๋ฌ.
ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ ๋ ๊ฑฐ๊ธฐ์ ๋ถ๋ฌ์จ quill ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ <code>document</code>๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ DOM API๋ฅผ ํ์๋ก ํ๋ค. (๊ฐ๋ น quill ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์์ <code>document.getElementById</code> ์ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค)
์ฆ quill์ ์ค์ง์ ์ผ๋ก ์ฌ์ฉํ๋ <code>editor.tsx</code>์์ ํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์์ ๋ฌธ์ ๊ฐ ๋๋๊ฒ.
<code>write/page.tsx</code>์์๋ quill๋ฅผ ๋ถ๋ฌ์ค์ง๋ง ์ฌ๊ธฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง๋ ์์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋์ง ์์๋ค.
์์ธ
html์์ ํ๊ทธ ์์ ๋ฌธ์์ด๋ค์ด ์์๋ <br />
์ด ์๋ ๊ทธ๋ฅ '์ํฐ'(\n
) ๋ฅผ ํตํ ์ค๋ฐ๊ฟ์ ๋์ด์ฐ๊ธฐ ํ์นธ์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ธ๊ฑฐ ๊ฐ๋ค.
ํด๊ฒฐ
์ฐพ์๋ณด๋๊น remark-breaks
๋ผ๋ ์ ํํ๊ฒ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค๊ณ ํ๋ค.
import breaks from "remark-breaks";
const processedContent = await remark()
.use(html)
.use(breaks)
.process(matterResult.content);
๊ธฐ์กด์ .use(html).process(matterResult.content)
์ฌ์ด์ .user(breaks)
๋ฅผ ์ถ๊ฐํด์ ๊ฐ๋จํ ํด๊ฒฐํ๋ค.